//package com.gxuwz.weather;
//
//import android.os.Bundle;
//import android.widget.TextView;
//import androidx.appcompat.app.AppCompatActivity;
//import com.baidubce.http.ApiExplorerClient;
//import com.baidubce.http.AppSigner;
//import com.baidubce.http.HttpMethodName;
//import com.baidubce.model.ApiExplorerRequest;
//import com.baidubce.model.ApiExplorerResponse;
//import com.google.gson.JsonObject;
//import com.google.gson.JsonParser;
//
//public class TestActivity extends AppCompatActivity {
//    private TextView tvResult;
//
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_test);
//
//        tvResult = findViewById(R.id.tvResult);
//
//        // 在后台线程中调用API
//        new Thread(() -> {
//            try {
//                String path = "http://getweather.api.bdymkt.com/lundear/weather1d";
//                ApiExplorerRequest request = new ApiExplorerRequest(HttpMethodName.GET, path);
//                request.setCredentials("bd0695e091ee4f83a9e4739a5a6dd3d5", "c3e30f7501024ba1aa958007d6377769");
//
//                request.addHeaderParameter("Content-Type", "application/json;charset=UTF-8");
//                request.addQueryParameter("areaCn", "北京");
//                request.addQueryParameter("areaCode", "110000");
//                request.addQueryParameter("ip", "");
//                request.addQueryParameter("lat", "");
//                request.addQueryParameter("lng", "");
//                request.addQueryParameter("need3hour", "");
//                request.addQueryParameter("needIndex", "");
//                request.addQueryParameter("needObserve", "");
//                request.addQueryParameter("needalarm", "");
//                request.addQueryParameter("need1hour", "");
//
//                ApiExplorerClient client = new ApiExplorerClient(new AppSigner());
//                ApiExplorerResponse response = client.sendRequest(request);
//                String result = response.getResult();
//
//                // 解析JSON响应
//                JsonObject jsonObject = JsonParser.parseString(result).getAsJsonObject();
//                String code = jsonObject.get("code").getAsString();
//
//                // 在主线程中更新UI
//                runOnUiThread(() -> {
//                    if ("0".equals(code)) {
//                        JsonObject data = jsonObject.getAsJsonObject("data");
//                        if (data != null) {
//                            JsonObject now = data.getAsJsonObject("now");
//                            if (now != null) {
//                                String weatherInfo = String.format(
//                                    "API调用成功！\n\n" +
//                                    "当前天气信息：\n" +
//                                    "温度：%s°\n" +
//                                    "天气：%s\n" +
//                                    "风向：%s\n" +
//                                    "风速：%s",
//                                    now.get("temp").getAsString(),
//                                    now.get("weather").getAsString(),
//                                    now.get("WD").getAsString(),
//                                    now.get("WS").getAsString()
//                                );
//                                tvResult.setText(weatherInfo);
//                            }
//                        }
//                    } else {
//                        tvResult.setText("API调用失败！\n错误信息：" + jsonObject.get("desc").getAsString());
//                    }
//                });
//            } catch (Exception e) {
//                runOnUiThread(() -> {
//                    tvResult.setText("发生异常：\n" + e.getMessage());
//                });
//            }
//        }).start();
//    }
//}